package cn.线程安全;

/**
 * 同步方法 默认使用this当 锁
 * @author Mxb
 * @version 1.0
 * @date 2020/7/26 16:28
 */
public class SaveWindow2 implements Runnable {
    public int id = 10;

    @Override
    public void run() {
        // 同步代码块 即给代码块上锁，变成同步代码块
        //同步方法，即给方法上锁，变成同步方法
        for (int i = 0; i < 10; i++) {
            saleOne();
        }
    }

    public synchronized void saleOne() {
        if (id > 0) {
            System.out.println(Thread.currentThread().getName() + "_" + id);
            id--;
        }
        try {
            Thread.sleep(500);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
